gtkwindow: Enable CSD when windows set a titlebar
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 21 Aug 2013 17:54:16 +0000 (13:54 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Thu, 22 Aug 2013 13:33:08 +0000 (09:33 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=706529

gtk/gtkwindow.c

index e4becaa80657c9e1f635cf9f77616266ec3330a8..129594b090ba96b6e980b20967a84e5e1530df99 100644 (file)
@@ -207,7 +207,8 @@ struct _GtkWindowPrivate
                                             */
   guint    gravity                   : 5; /* GdkGravity */
   guint    client_decorated          : 1; /* Decorations drawn client-side */
-  guint    custom_title              : 1; /* app-provided titlebar */
+  guint    custom_title              : 1; /* app-provided titlebar if CSD can't
+                                           * be enabled */
   guint    fullscreen                : 1;
   guint    tiled                     : 1;
 
@@ -3543,7 +3544,11 @@ gtk_window_set_titlebar (GtkWindow *window,
 
   unset_titlebar (window);
 
-  priv->custom_title = TRUE;
+  if (gdk_window_supports_csd (window))
+    gdk_window_enable_csd (window);
+  else
+    priv->custom_title = TRUE;
+
   priv->title_box = titlebar;
   gtk_widget_set_parent (priv->title_box, widget);